package com.isscollage.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.isscollage.entity.Concat;
import com.isscollage.service.UserService;

@Controller
@RequestMapping("users11")
public class UserController1 {
	
	@Autowired
	private UserService userService;

	@RequestMapping("toConcat")
	public String toConcat() {
		return "concatList";
	}
/*	
 * 验证身份证是否已经存在，boolean类型true表示存在，false表示不存在
 * 主要测试单个数据的接收，ajax通过success：function(data)中data数据接收，该示例为boolean类型data为boolean类型，
 	@RequestMapping("checkCardNo")
	@ResponseBody
	public boolean  checkCard( String cardNo) {
		boolean flag = userService.checkCardNo(cardNo);
		return flag;
	} */
	
/*	
 * 验证身份证是否已经存在，并返回乘车人信息
 * 主要测试ResponseBody返回Model类信息，ajax通过success：function(data)中data数据接收，该示例为Model对象，data.属性名接收
 	@RequestMapping("checkCardNo")
	@ResponseBody
	public Concat  checkCard(String cardNo) {
		Concat concat = userService.searchConcatByCardNo(cardNo);
		return concat;
	} */
	/**
	 * 验证身份证是否已经存在,如果存在，返回所有乘车人信息
	 * 主要测试ResponseBody返回list信息，ajax通过success：function(data)中data数据接收,该示例为List<Concat>,data通过each循环输出
	 * @param cardNo
	 * @return
	 */
	@RequestMapping("checkCardNo")
	@ResponseBody
	public List<Concat>  checkCard(String cardNo) {
		Concat concat = userService.searchConcatByCardNo(cardNo);
		List<Concat> list = new ArrayList<>();
		list.add(concat);
		list.add(concat);
		return list;
	} 

/*	
 * 表单提交，通过类对象接收参数。
 * 主要测试conteoller如何接收前端数据，返回一个model对象
 */
/*	@RequestMapping("saveConcat")
	@ResponseBody
	public Concat  saveConcat(Concat concat) {
		System.out.println(concat);
		return concat;
	} */
	
	/**
	 * 表单提交。接收ajax传过来的json格式的对象，要求ajax提交时加入contentType : 'application/json; charset=utf-8',，
	 * 将字符串转成json格式，JSON.stringify(args),付给data，，通过data传入controller，
	 * conteroller层接收参数钱需加入@ResquestBody
	 * @param concat
	 * @return
	 */
/*	@RequestMapping("saveConcat")
	@ResponseBody
	public Concat  saveConcat(@RequestBody Concat concat) {
		System.out.println(concat);
		return concat;
	} */
	/***
	 * 多个参数传递，直接使用参数名接收即可
	 */
/*	@RequestMapping("saveConcat")
	@ResponseBody
	public Concat  saveConcat( String name, String age) {
		System.out.println(name+":"+age);
		return null;
	}*/
	/**
	 * 多个对象ajax传递，，要求ajax提交时加入contentType : 'application/json; charset=utf-8',，
	 * 将数组转成json格式，JSON.stringify(args),付给data，，通过data传入controller，
	 * conteroller层接收参数钱需加入@ResquestBody ，接收参数为List<类名> list
	 * @param list
	 * @return
	 */
	@RequestMapping("saveConcat")
	@ResponseBody
	public Concat  saveConcat(@RequestBody List<Concat> list) {
		System.out.println(list);
		return list.get(0);
	} 
}
